package bigdata

import (
	"context"
)

type BigdataRepositoryIface interface {
	// GetCustomerMonitorList 获取客户监控列表
	GetCustomerMonitorList(ctx context.Context, request *GetCustomerMonitorRequest) (*CustomerMonitor, error)
	// GetBuildHistogram 获取在建项目按在建类型分类统计柱状图数据
	GetBuildHistogram(ctx context.Context, request *MarketInsightCommonRequest) (*BuildHistogramData, error)
	// GetSaleHistogram 获取在售项目按在售类型分类统计柱状图数据
	GetSaleHistogram(ctx context.Context, request *MarketInsightCommonRequest) (*SaleHistogramData, error)
	// GetLandHistogram 获取拿地项目按在售类型分类统计柱状图数据
	GetLandHistogram(ctx context.Context, request *MarketInsightCommonRequest) (*LandHistogramData, error)
	// GetLandTopCompany 获取拿地数量top的企业
	GetLandTopCompany(ctx context.Context, request *MarketInsightTopListRequest) (*ProjectTopListData, error)
	// GetSaleTopCompany 获取在售（开盘）数量top的企业
	GetSaleTopCompany(ctx context.Context, request *MarketInsightTopListRequest) (*ProjectTopListData, error)
	// GetBuildTopCompany 获取在建数量top的企业
	GetBuildTopCompany(ctx context.Context, request *MarketInsightTopListRequest) (*ProjectTopListData, error)
	//GetCompanyTarget 获取公司指标
	GetCompanyTarget(ctx context.Context, request *GetCompanyTargetRequest) (*GetCompanyTargetData, error)
	// GetCustomerPieChart 客户结构接口
	GetCustomerPieChart(ctx context.Context, request *MarketInsightCommonRequest) (*CustomerPieChartData, error)
	// GetCustomerTopList 客户top列表接口
	GetCustomerTopList(ctx context.Context, request *MarketInsightTopListRequest) (*CustomerTopListData, error)
	// GetLineChart 按月统计数量折线图
	GetLineChart(ctx context.Context, request *MarketInsightCommonRequest) (*LineChartData, error)
	// GetBidHistogram 招标数量统计
	GetBidHistogram(ctx context.Context, request *MarketInsightCommonRequest) (*GetBidHistogramData, error)
	// GetBidTopCompany 招中标数量top企业
	GetBidTopCompany(ctx context.Context, request *MarketInsightTopListRequest) (*GetBidTop20CompanyData, error)
}
